<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">
    <h:form id="formularioDetalleNC" >

        <p:fieldset legend="Elegir desde Facturas" toggleable="true" collapsed="true">
            <p:panelGrid id="pnlFindDetalle" style="width:100%;text-align:left">

                <p:row>
                    <p:column>
                        <h:outputLabel id="lblFactura" value="Num Factura " />
                    </p:column>
                    <p:column>
                        <p:inputMask mask="999" id="txtSerie"  rendered="false"  />
                        <f:verbatim rendered="false">-</f:verbatim>
                        <p:inputText id="txtNumero" value="#{BKCompraDetalleNotaCredito.numero}"  maxlength="8" >
                            <f:validateRegex pattern="[0-9]*" />
                        </p:inputText>  
                    </p:column>
                    <p:column>
                        <p:commandButton id="btnFindBuscar" value="Buscar" 
                                         ajax="true" update="datatblFacturas,datatblDetalle" process="@this txtSerie,txtNumero" 
                                         actionListener="#{MBCompraDetalleNotaCredito.buscarFacturas()}"/>
                    </p:column>
                </p:row>

                <p:row>
                    <p:column colspan="3">
                        <p:fieldset legend="Lista de Facturas" toggleable="true" widgetVar="fdsFact">
                            <p:dataTable id="datatblFacturas" var="factura"
                                         value="#{BKCompraDetalleNotaCredito.listaFacturas}"
                                         emptyMessage="No exsiten articulo" filteredValue=""
                                         rowIndexVar="rowIndex" paginator="true" rows="5"
                                         paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink}
                                         {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                         rowKey="#{factura}" selection="#{BKCompraDetalleNotaCredito.facturaSeleccionado}" selectionMode="single" 
                                         rowsPerPageTemplate="5,10,20" paginatorPosition="bottom" styleClass="datable-busqueda">

                                <p:ajax event="rowSelect" process="@this" listener="#{MBCompraDetalleNotaCredito.buscarDetalleFacturas}" 
                                        update=":formularioDetalleNC:datatblDetalle" oncomplete="fdsFact.toggle()" />

                                <p:column id="idColumnaNum" style="width: 5%" headerText="Num.">
                                    <h:outputText value="#{rowIndex+1}" />
                                </p:column>

                                <p:column id="idColumnaSerie" style="width: 10%" sortBy="#{factura.serie}" headerText="Serie">
                                    <h:outputText value="#{factura.serie}" />
                                </p:column>

                                <p:column id="idColumnaNumero" style="width: 10%" sortBy="#{factura.numeroFactura}" headerText="N.Doc">
                                    <h:outputText value="#{factura.numeroFactura}" />
                                </p:column>

                                <p:column id="idColumnaFecha" style="width: 15%" sortBy="#{factura.fecEmision}" headerText="Fecha">
                                    <h:outputText value="#{factura.fecEmision}" >
                                        <f:convertDateTime pattern="dd/MM/yyyy"/>
                                    </h:outputText>
                                </p:column>

                                <p:column id="idColumnaRazon" style="width: 25%" sortBy="#{factura.idProveedor.razonSocial}" headerText="Razon Social">
                                    <h:outputText value="#{factura.idProveedor.razonSocial}" />
                                </p:column>


                                <p:column id="idColumnaVenta" style="width: 10%" sortBy="#{factura.subTotal}" headerText="Precio Venta">
                                    <h:outputText value="#{factura.subTotal}" >
                                        <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
                                    </h:outputText>
                                </p:column>

                                <p:column id="idColumnaAcciones" style="width: 10%"  headerText="#{message['general.label.tipoAcesso']}"
                                          rendered="false">                                                        
                                    <p:commandButton icon="ui-icon-pencil" title="#{message['general.button.editar']}" process="@this" immediate="true"
                                                     actionListener="#{MBCompraDetalleNotaCredito.buscarDetalleFacturas()}" update=":formularioDetalleNC:datatblDetalle" ajax="true">
                                        <f:setPropertyActionListener value="#{factura}" target="#{BKCompraDetalleNotaCredito.facturaSeleccionado}" />  
                                    </p:commandButton>                                                  
                                </p:column>

                            </p:dataTable>
                        </p:fieldset>
                    </p:column>
                </p:row>
                <p:row>
                    <p:column colspan="3">
                        <p:fieldset legend="Lista de Detalle de Facturas" toggleable="true" widgetVar="fdsDet">
                            <p:dataTable id="datatblDetalle" var="det"
                                         value="#{BKCompraDetalleNotaCredito.listaDetalleFacturacion}"
                                         emptyMessage="No existe detalle" filteredValue=""
                                         rowIndexVar="rowIndex" paginator="true" rows="5"
                                         paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                         rowKey="#{det}" 
                                         selection="#{BKCompraDetalleNotaCredito.facturaDetalleSeleccionado}" selectionMode="single"
                                         rowsPerPageTemplate="5,10,20" paginatorPosition="bottom" styleClass="datable-busqueda">

                                <p:ajax event="rowSelect" process="@this" update=":formularioDetalleNC:pnlDetalle" 
                                        listener="#{MBCompraDetalleNotaCredito.elegirDetalleFactura()}" oncomplete="fdsDet.toggle()"/>
                                <p:column id="idColumnaNum" style="width: 5%" headerText="Num.">
                                    <h:outputText value="#{rowIndex+1}" />
                                </p:column>

                                <p:column id="idColumnaDesc" style="width: 55%"
                                          sortBy="#{det.idArticulo.nombreComercial}" headerText="Descripcion">
                                    <h:outputText value="#{det.idArticulo.nombreComercial}" />
                                </p:column>

                                <p:column id="idColumnaCant" style="width: 10%"
                                          sortBy="#{det.cantidad}"  headerText="Cantidad">
                                    <h:outputText value="#{det.cantidad}" >
                                        <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
                                    </h:outputText>
                                </p:column>

                                <p:column id="idColumnaPrecio" style="width: 10%"
                                          sortBy="#{det.precioUnitario}"  headerText="Precio">
                                    <h:outputText value="#{det.precioUnitario}" >
                                        <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
                                    </h:outputText>
                                </p:column>

                                <p:column id="idColumnaTotal" style="width: 10%"
                                          sortBy="#{det.precioTotal}" headerText="Total">
                                    <h:outputText value="#{det.precioTotal}" >
                                        <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
                                    </h:outputText>
                                </p:column>
                            </p:dataTable>
                        </p:fieldset>
                    </p:column>
                </p:row>
            </p:panelGrid>
        </p:fieldset>

        <p:panelGrid style="width:100%;" id="pnlDetalle">

            <p:row>
                <p:column style="width: 30%">
                    <h:outputLabel id="lblDetalle" value="DETALLE(*)" styleClass="lblForm"  />
                </p:column>
                <p:column>
                    <p:inputText id="txtDetalle"  onkeyup="cambiarMayuscula(this)" required="true" style="width: 100%"
                                 value="#{BKCompraDetalleNotaCredito.detalleNotaCredito.descripcion}" />
                    <p:message for="txtDetalle" display="text"  />
                </p:column>
            </p:row>
            <p:row>
                <p:column>
                    <h:outputLabel id="lblCantidad" value="CANTIDAD(*)" styleClass="lblForm"  />
                </p:column>
                <p:column>
                    <p:inputText id="txtCantidad"  onkeyup="cambiarMayuscula(this)" required="true"
                                 value="#{BKCompraDetalleNotaCredito.detalleNotaCredito.cantidad}" >
                        <f:convertNumber  maxFractionDigits="2" minFractionDigits="2" />
                    </p:inputText>
                    <p:message for="txtCantidad" display="text"  />
                </p:column>
            </p:row>
            
            <p:row>
                <p:column>
                    <h:outputLabel id="lblPrecioU" value="PRECIO UNIT(*)" styleClass="lblForm"  />
                </p:column>
                <p:column>
                    <p:inputText id="txtPrecioU"  onkeyup="cambiarMayuscula(this)" required="true"
                                 value="#{BKCompraDetalleNotaCredito.detalleNotaCredito.precioUni}" >
                        <f:convertNumber  maxFractionDigits="2" minFractionDigits="2" />
                    </p:inputText>
                    <p:message for="txtPrecioU" display="text"  />
                </p:column>
            </p:row>
            
            <p:row>
                <p:column style="text-align:center" colspan="2">
                    <p:commandButton id="btnAceptarArticulos" value="Aceptar"
                                     actionListener="#{MBCompraDetalleNotaCredito.notificarObservadores()}"
                                     process="@this,:formularioDetalleNC:pnlDetalle" update="#{BKCompraDetalleNotaCredito.update} pnlFindDetalle"  
                                     oncomplete="if (args.validationFailed){ #{BKCompraDetalleNotaCredito.dialog}.show()} else {#{BKCompraDetalleNotaCredito.dialog}.hide()};colspanear()" />
                    <p:commandButton id="btnCancelarArticulos" value="Cancelar" type="button"
                                     onclick="#{BKCompraDetalleNotaCredito.dialog}.hide()" />
                </p:column>
            </p:row>



        </p:panelGrid>

    </h:form>

</html>